home *** CD-ROM | disk | FTP | other *** search
- Path: nntp.teleport.com!sschaem
- From: sschaem@teleport.com (Stephan Schaem)
- Newsgroups: comp.sys.amiga.programmer,comp.sys.amiga.games,alt.sys.amiga.demos,comp.sys.amiga.misc
- Subject: Re: AB3D II beats Quake....
- Followup-To: comp.sys.amiga.programmer,comp.sys.amiga.games,alt.sys.amiga.demos,comp.sys.amiga.misc
- Date: 4 Apr 1996 04:04:17 GMT
- Organization: Teleport - Portland's Public Access (503) 220-1016
- Message-ID: <4jvho1$41l@nadine.teleport.com>
- References: <DosA8o.17B@info.uucp> <6538.6658T1031T2526@mbox.vol.it> <4jgn4o$l2b@hell.team17.com> <4jk515$q3l@nadine.teleport.com> <4jkdpu$1o6@hell.team17.com> <4joj14$ghj@nadine.teleport.com> <4js275$98s@hell.team17.com> <4jt8bh$a70@nadine.teleport.com> <4ju1qf$k4@hell.team17.com> <4juplu$n44@nadine.teleport.com> <4jutrg$alh@hell.team17.com>
- NNTP-Posting-Host: kelly.teleport.com
- X-Newsreader: TIN [version 1.2 PL2]
-
- Stefan Boberg (boberg@team17.com) wrote:
- : sschaem@teleport.com (Stephan Schaem) wrote:
-
- : The reason why it's slow is that they use floats everywhere. In the
- : geometry pipeline as well as in the rasterization. In addition, since
- : they're using a piecewise affine mapping for the textures, they have
- : quite a few FDIVs in there as well. None of all this is particularly
- : fast on a 486.
-
- piecewise affine mapping ? I use fdiv, but maybe very little per polygon.
-
- : > How much speedup do you get by using your fixedpoint macro VS float
- : > on a 486 in that rendering function?
-
- : I really haven't tried it on a 486 yet. The 3D engine work I've done
- : so far is in preparation for my next project, which will have P90 as
- : minimum spec machine - so to be honest, I'm not too bothered about
- : performance on a 486. It ought to be considerably faster with
- : fix-point though, seeing as all floating-point stuff is slow on the
- : 486, even more so since my code is optimized for the P5 FPU (boatloads
- : of FXCH to keep the multiplier/adders busy).
-
- I haven't touch x86 assembly ... just C, with a look at time to time
- what the compiler is doing. I cant say if its the compiler or an effect
- of the x86, but the same algo in C compiled in x86 turn out to be
- so many more instructions VS handcoded 680x0.
-
- : > I use affine tmapping in my perspective correct texture mapping...
- : > I tryed 7 variant, from 3 class out of 6 of perspective correct
- : > rendering methode.... I choose one based on affine tmapping.
-
- : Yep. Scanline subdivision seems to work best. Free-directional
- : mapping can be faster, and is better with mip-maps, but has some ugly
- : precision problems. Hyperbolic mapping is kind of neat, but involves
- : too many branches. Second-order differences is quite fast, but has
- : ugly problems with undershoot/overshoot. Divide-per-pixel is,
- : obviously, not good enough for real-time work. What other variants did
- : you try (you say 7 variants)?
-
- 6... the one you missed is recursive subdivision, and the fastest methode
- I tryed. The variant are just implemtation difference on 3 of those 6
- methode.
-
- Second order (quadratic interpolation of the '1/z' curve) problem is
- fixed with a quick subdivision of the face that cause a problem.
- To speed this methode up can use scanline
- subdivision too (one of the variant I tried:). The problem with
- this methode is heavy setup of variable, or heavy compuation each
- scan line.
-
- Stephan
-
-